package com.gqj.elec.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.gqj.common.annotation.Excel;
import com.gqj.common.core.domain.BaseEntity;

/**
 * 物资入库对象 elec_material_ininfo
 *
 * @author lxq
 * @date 2023-12-17
 */
public class ElecMaterialIninfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long inId;

    /**
     * 入库单号
     */
    @Excel(name = "入库单号")
    @ApiModelProperty("入库单号")
    private String batchNumber;

    /**
     * 入库主题
     */
    @Excel(name = "入库主题")
    @ApiModelProperty("入库主题")
    private String inTheme;

    /**
     * 计划入库日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("计划入库日期")
    private Date planInDate;

    /**
     * 入库人员ID
     */
    @Excel(name = "入库人员ID")
    private Long inUserId;

    /**
     * 入库人员
     */
    @Excel(name = "入库人员")
    @ApiModelProperty("入库人员")
    private String inUserName;

    /**
     * 物资类别
     */
    private String materialCategory;

    /**
     * 入库状态 1-录入 2-入库中 3-入库完成
     */
    @Excel(name = "入库状态")
    @ApiModelProperty("入库状态,1-录入 2-入库中 3-入库完成")
    private String inStatus;

    /**
     * 入库类别 1-后台创建 2-前端创建 3-备件归还入库
     */
    @Excel(name = "入库类别")
    private String inType;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 刷脸记录ID
     */
    private Long recordId;

    /**
     * 刷脸照片
     */
    private String facePicuture;

    /**
     * 刷脸人
     */
    private String faceUserName;

    /**
     * 刷脸时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String sendTime;

    /**
     * 设备
     */
    private String faceDeviceName;

    /**
     * 入库任务主键集合
     */
    @ApiModelProperty("入库任务主键集合")
    private Long[] inIds;

    private List<ElecMaterialIndetail> elecMaterialIndetailList;

    public Long[] getInIds() {
        return inIds;
    }

    public void setInIds(Long[] inIds) {
        this.inIds = inIds;
    }

    public List<ElecMaterialIndetail> getElecMaterialIndetailList() {
        return elecMaterialIndetailList;
    }

    public void setElecMaterialIndetailList(List<ElecMaterialIndetail> elecMaterialIndetailList) {
        this.elecMaterialIndetailList = elecMaterialIndetailList;
    }

    public String getFaceUserName() {
        return faceUserName;
    }

    public void setFaceUserName(String faceUserName) {
        this.faceUserName = faceUserName;
    }

    public String getFaceDeviceName() {
        return faceDeviceName;
    }

    public void setFaceDeviceName(String faceDeviceName) {
        this.faceDeviceName = faceDeviceName;
    }

    public String getSendTime() {
        return sendTime;
    }

    public void setSendTime(String sendTime) {
        this.sendTime = sendTime;
    }

    public String getFacePicuture() {
        return facePicuture;
    }

    public void setFacePicuture(String facePicuture) {
        this.facePicuture = facePicuture;
    }

    public Long getRecordId() {
        return recordId;
    }

    public void setRecordId(Long recordId) {
        this.recordId = recordId;
    }

    /**
     * 子列表
     */
    private List<ElecMaterialIndetail> elecMaterialList;

    public void setInId(Long inId) {
        this.inId = inId;
    }

    public Long getInId() {
        return inId;
    }

    public void setBatchNumber(String batchNumber) {
        this.batchNumber = batchNumber;
    }

    public String getBatchNumber() {
        return batchNumber;
    }

    public void setInTheme(String inTheme) {
        this.inTheme = inTheme;
    }

    public String getInTheme() {
        return inTheme;
    }

    public void setPlanInDate(Date planInDate) {
        this.planInDate = planInDate;
    }

    public Date getPlanInDate() {
        return planInDate;
    }

    public void setInUserId(Long inUserId) {
        this.inUserId = inUserId;
    }

    public Long getInUserId() {
        return inUserId;
    }

    public void setMaterialCategory(String materialCategory) {
        this.materialCategory = materialCategory;
    }

    public String getMaterialCategory() {
        return materialCategory;
    }

    public void setInStatus(String inStatus) {
        this.inStatus = inStatus;
    }

    public String getInStatus() {
        return inStatus;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public List<ElecMaterialIndetail> getElecMaterialList() {
        return elecMaterialList;
    }

    public void setElecMaterialList(List<ElecMaterialIndetail> elecMaterialList) {
        this.elecMaterialList = elecMaterialList;
    }

    public String getInUserName() {
        return inUserName;
    }

    public void setInUserName(String inUserName) {
        this.inUserName = inUserName;
    }

    public String getInType() {
        return inType;
    }

    public void setInType(String inType) {
        this.inType = inType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("inId", getInId())
                .append("batchNumber", getBatchNumber())
                .append("inTheme", getInTheme())
                .append("planInDate", getPlanInDate())
                .append("inUserId", getInUserId())
                .append("materialCategory", getMaterialCategory())
                .append("inStatus", getInStatus())
                .append("remark", getRemark())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
